#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2024/3/14 21:17
# @Author : XXX
# @Site : 
# @File : day-3.py
# @Software: PyCharm
'''
注意:这是整个一题
1.定义管理员类，管理员有属性(name,password)，
可以创建学校、创建课程、创建老师
2.定义老师类，老师有属性(name,password)，
可以添加课程、给学生打分,但发现学生没有购买课程时，不能打分，并给出提示
3.定义学生类，学生有属性(name,password)，
可以获取当前学校、选择学校、选择课程，但学校没有该课程时，
需要提示，并且不能选择该课程
4.定义学校类，学校有属性(name,addr)，可以添加课程
5.定义课程类，课程有属性(name)，可以添加学生
'''
course = [];


class User:
    def __init__(self, name, password):
        self.name = name
        self.password = password
        self.teacherlist = []
        self.schoollist = []

    def crea_teacher(self, name, password):
        teach = Teacher(name, password)
        self.teacherlist.append(teach)

    def crea_school(self, name, addr):
        school = School(name, addr)
        self.schoollist.append(school)

    def add_couser(self, name):
        course.append(name)


class Teacher:
    def __init__(self, name, password):
        self.name = name
        self.password = password
        self.teacher_couser = []

    def creat_couser(self, School):
        print('可添加的课程')
        for i in School.school_list:
            print(i, end=' ')
        print()
        n = int(input('请输入要教授的课程'))
        self.teacher_couser.append(course[n - 1])

    def da_feng(self, Student, cousername):
        listmp = Student.student_couser.keys()
        if cousername in listmp:
            n = int(input('请输入分数'))
            Student.student_couser[cousername] = n
        else:
            print("学生没有该课程,不能打分")


class Student:
    def __init__(self, name, password):
        self.name = name
        self.password = password
        self.student_couser = {}

    def creat_couser(self, School, name):
        if (name in School.school_list):
            self.student_couser[name] = 0
        else:
            print('学校没有该课程')


class School:
    def __init__(self, name, addr):
        self.name = name
        self.addr = addr
        self.school_list = []

    def creat_couser(self):
        print('可添加的课程')
        for i in course:
            print(i, end=' ')
        print('\n')
        n = int(input('请输入要选用的课程\n'))
        self.school_list.append(course[n - 1])


class Course:
    def __init__(self, name):
        if (name in course):
            self.name = name
        else:
            print('还未创建该课程')
        self.student_list = []

    def stu(self, Student):
        self.student_list.append(Student.name)


'''1.定义管理员类，管理员有属性(name,password)，
可以创建学校、创建课程、创建老师'''
user = User('a', 123456)
user.crea_school('光明学院', '上海')
user.crea_teacher('A', 123456789)
user.add_couser('语文')
user.add_couser('数学')
'''2.定义老师类，老师有属性(name,password)，
可以添加课程、给学生打分,但发现学生没有购买课程时，不能打分，并给出提示'''
sch_d = School('j', '北京')
sch_d.creat_couser()
teach_k = Teacher('k', 4569)
teach_k.creat_couser(sch_d)
stu_a = Student('s', 11)
stu_a.creat_couser(sch_d, '英语')
stu_a.creat_couser(sch_d, '语文')
print(stu_a.student_couser)
teach_k.da_feng(stu_a, '英语')
teach_k.da_feng(stu_a, '语文')
print(stu_a.student_couser)
cou = Course('语文')
cou.stu(stu_a)
print(cou.student_list)
